//index.js
//获取应用实例
import { emitListener, getShareBDUserId } from '../../utils/common';
import util from '../../utils/util.js';
import { postRequest } from '../../utils/ajax';

const app = getApp();
const methods = {
  // 货币
  getCurrencyIndex(currencyCodeList, currentCurrency) {
    for (var x in currencyCodeList) {
      if (currencyCodeList[x] == currentCurrency) {
        return x;
      }
    }
  },
  // 货币
  initCurrency(currencyObj) {
    var that = this;
    var currencyCodeList = currencyObj.currencyCodeList;  // ["EUR", "USD", "GBP", "CNY"]
    var currencyList = currencyObj.currencyList;  // ["€ EUR", "$ USD", "£ GBP", "￥ CNY"]
    var currentCurrency = currencyObj.currentCurrency;  // "CNY"
    var currencyIndex = that.getCurrencyIndex(currencyCodeList, currentCurrency);
    that.setData({
      currencys : currencyList
    });
    that.setData({
      currencyCodes : currencyCodeList
    });
    that.setData({
      currencyIndex : currencyIndex
    });
  },
  // 货币  - 更改货币
  changeCurrency(e) {
    let index = e.detail.value;
    // 设置当前的Picker的LangIndex
    this.setData({	// (1)
      currencyIndex : index
    });
    // 添加事件
    event.emit('currencyChanged');
    // 写入Storage
    var currencyCodes = this.data.currencyCodes;
    var fecshop_currency = currencyCodes[index];
    wx.setStorageSync('fecshop-currency', fecshop_currency);
    this.loadHomeData();
  },
  // 语言
  changeLanguage(e) {
    let index = e.detail.value;
    // 设置当前的Picker的LangIndex
    this.setData({	// (1)
      langIndex : index
    });
    // 设置Locale
    wx.T.setLocaleByIndex(index);
    // 设置language变量（翻译Object）
    this.setLanguage();
    // 写入Storage
    var fecshop_lang = wx.T.getCodeByIndex(index);
    wx.setStorageSync('fecshop-lang', fecshop_lang);
    // 添加事件
    event.emit('languageChanged');
    this.loadHomeData();
  },
  // 语言
  // 设置language变量（翻译Object）
  setLanguage() {
    this.setData({
      language : wx.T.getLanguage()
    });
  },
};

Page({
  ...methods,
  data : {
    // 店铺首页类型3, 35, 12, 19, 18
    shopId : -1,
    title : '',
    showSearch : false,
    //语言 - begin
    language : '',
    languages : [],
    langIndex : 0,
    //语言 - end
    // 货币
    currencys : [],
    currencyCodes : [],
    currencyIndex : 0,
  },
  /**
   * 店铺首页模板ready时触发
   */
  shopReady() {
    // 因为店铺组件需要根据接口返回的参数确定需要渲染哪个店铺组件
    // 所以此时页面的onShow事件已经执行过了，
    // 需要店铺组件在创建时通知页面，重新发出 'shop-index:onShow' 事件
    // 使店铺组件渲染初始数据
    emitListener('shop-index:onShow', this.__promise__);
  },
  /**
   * 页面显示
   */
  onShow() {
    // 主要获取店铺ID
    const promise = this.__promise__ = postRequest('/index/index', {
      bdmin_user_id : getShareBDUserId()
    }).then(res => {
      const [data, response] = res;
      // title
      const title = data.store_name;
      wx.setStorageSync('store_name', title);
      // 保存店铺ID，如果没有设置过则默认是3
      const shopId = Number(data.parent_id) || 3;
      // 是否展示导航栏搜索框
      const showSearch = shopId === 18;
      this.setData({ shopId, title, showSearch });
      wx.setStorageSync('shop_template_id', shopId);
      app.saveReponseHeader(response);
      // 将数据返回，传递到子组件使用
      return data;
    });
    //获取购物车商品数量
    app.getShopCartNum();
    // 添加店铺浏览记录
    util.storeBrower(app);
    // 通知子组件
    emitListener('shop-index:onShow', promise);
  },
  /**
   * 页面加载
   */
  onLoad(e) {
    // 带上这个数据
    if (e.getBdmin_user_id) {
      util.clearLogin(e.getBdmin_user_id);
    }
    // 分享进来的
    if (e.share == 1) {
      util.stat(app, 'pages/index/index', 2);
    } else {
      util.stat(app, 'pages/index/index', 1);
    }
    wx.stopPullDownRefresh();
    var that = this;
    // 语言
    // 设置picker的语言选项
    that.setData({
      languages : wx.T.getLangNames()
    });
    // 设置picker的语言选项中当前的langIndex
    that.setData({
      'langIndex' : wx.T.langIndex
    });
    // 设置当前页面的language变量 - 每个页面都要有
    this.setLanguage();
    // 设置当前页面的language Index - 每个页面都要有
    wx.T.setLocaleByIndex(wx.T.langIndex);
    // 语言 - 结束
    // 头部
    wx.setNavigationBarColor({
      frontColor : '#000000',
      backgroundColor : '#ffffff'
    });
    app.fadeInOut(this, 'fadeAni', 1);
    if (app.globalData.iphone == true) {
      that.setData({
        iphone : true
      });
    }
    // 通知子组件
    emitListener('shop-index:onLoad');
  },
  /**
   * 页面滚动触发事件的处理函数
   */
  onPageScroll(t) {
    // 通知子组件
    emitListener('shop-index:onPageScroll');
    // if(t.scrollTop >= 180){
    // 	wx.setNavigationBarColor({
    // 		frontColor: '#000000',
    // 		backgroundColor: '#ffffff'
    // 	})
    // 	app.fadeInOut(this,'fadeAni',1)
    // }else{
    // 	wx.setNavigationBarColor({
    // 		frontColor: '#ffffff',
    // 		backgroundColor: '#ffffff'
    // 	})
    // 	app.fadeInOut(this,'fadeAni',0)
    // }
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 通知子组件
    emitListener('shop-index:onReachBottom');
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.onLoad();
    // 通知子组件
    emitListener('shop-index:onPullDownRefresh');
  },
  /**
   * 用户点击右上角转发
   */
  onShareAppMessage() {
    return {
      // title: '天天精选',
      title : '我在天天精选挑选这些好物，快来查看吧',
      // imageUrl: '',  //用户分享出去的自定义图片大小为5:4,
      path : '/pages/index/index?share=1&getBdmin_user_id=' + util.share_bdmin_user_id(),
      success : function (res) {
        // 转发成功
        wx.showToast({
          title : '邀请成功',
          icon : 'success',
          duration : 2000
        });
      },
      fail : function (res) {
        // 分享失败
        wx.showToast({
          title : '邀请失败',
          icon : 'error',
        });
      },
    };
  },
});
